package com.youlu.campus.entity;

import com.youlu.campus.base.base.EntityBase;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.ArrayList;
import java.util.List;

/**
 * 活动证书领取规则,记录是否补充数据,实时获取证书还是动态获取证书
 */
@Getter
@Setter
@Document(collection = "activity_recieve_rule")
public class ActivityRecieveRule extends EntityBase {
    @Indexed
    private String activityId;
    /**
     * 是否全部发放志愿者证书
     */
    private Boolean popularCa = Boolean.TRUE;

    /**
     * 是否全部发放答题证书
     */
    private Boolean popularQaCa = Boolean.TRUE;
    /**
     * 填充的工作量
     */
    private Double q = 0.0D;
    /**
     * 普及证书名字
     */
    private List<String> popularCaNames = new ArrayList<>();
    /**
     * 发放证书模式,1:动态--实时查询,2:静态--定时任务生成证书
     */
    private String mode = "1";
    /**
     * 是否发放双证
     */
    private Boolean doubleCa = Boolean.FALSE;
    /**
     * 是否隐藏数据明细
     */
    private Boolean hideDetail = Boolean.FALSE;
    /**
     * 是否替换证书
     */
    private Boolean replacedCa = Boolean.FALSE;
    /**
     * 替换证书关键字
     */
    private String replaceByCaName = "志愿者";
    /**
     * 替换目标证书关键字
     */
    private String replacedCaName = "荣誉";
    /**
     * 是否替换答题证书
     */
    private Boolean replacedQaCa = Boolean.FALSE;
    /**
     * 替换答题证书关键字
     */
    private String replaceQaByCaName = "荣誉";
    /**
     * 替换目标答题证书关键字
     */
    private String replacedQaCaName = "志愿者";
    /**
     * 是否等级提升
     */
    private Boolean upGradeLevel = Boolean.FALSE;
    /**
     * 是否有省榜
     */
    private Boolean hasProvinceBand = Boolean.FALSE;
    /**
     * 省榜数量
     */
    private Integer provinceBand = 50;
    /**
     * 是否有全国榜
     */
    private Boolean hasAllBand = Boolean.FALSE;
    /**
     * 全国榜数量
     */
    private Integer allBand = 50;
    /**
     * 邀请人数限制,参与证书规则计算
     */
    private Integer inviteNum = 10;
}
